#include "RegistroDatosConteo.h"


RegistroDatosConteo::RegistroDatosConteo(char* dataBuffer){
	// Los siguientes son los datos del registro
	this->_serializador.desSerializar(dataBuffer, this->_id);
	this->_serializador.desSerializar(dataBuffer, this->_idEleccion);
	this->_serializador.desSerializar(dataBuffer, this->_idDistrito);
	this->_serializador.desSerializar(dataBuffer, this->_idLista);
	this->_serializador.desSerializar(dataBuffer, this->_cantVotos);
}


RegistroDatosConteo::RegistroDatosConteo(){
	this->_idEleccion =0;
	this->_idDistrito =0;
	this->_idLista =0;
	this->_cantVotos =0;
}


RegistroDatosConteo::~RegistroDatosConteo(){
	this->_idEleccion =0;
	this->_idDistrito =0;
	this->_idLista =0;
	this->_cantVotos =0;
}


size_t RegistroDatosConteo::getSize(){
	// Los cuatro datos
	size_t tam = 4*sizeof(unsigned long int);

	// El id de la clase padre
	tam += sizeof(unsigned long int);

	return tam;
}


void RegistroDatosConteo::setEleccion(unsigned long int idElec){
	this->_idEleccion = idElec;
}


unsigned long int RegistroDatosConteo::getEleccion(){
	return this->_idEleccion;
}


void RegistroDatosConteo::setDistrito(unsigned long int idDist){
	this->_idDistrito = idDist;
}


unsigned long int RegistroDatosConteo::getDistrito(){
	return this->_idDistrito;
}


void RegistroDatosConteo::setLista(unsigned long int idLista){
	this->_idLista = idLista;
}


unsigned long int RegistroDatosConteo::getLista(){
	return this->_idLista;
}


unsigned long int RegistroDatosConteo::votar(){
	return this->_cantVotos++;
}


unsigned long int RegistroDatosConteo::getCantVotos(){
	return this->_cantVotos;
}


// Serializa los datos del registro
void RegistroDatosConteo::pack(char* dataBuffer){
	// Luego se guardan los datos del mismo
	this->_serializador.serializar(dataBuffer, this->_id);
	this->_serializador.serializar(dataBuffer, this->_idEleccion);
	this->_serializador.serializar(dataBuffer, this->_idDistrito);
	this->_serializador.serializar(dataBuffer, this->_idLista);
	this->_serializador.serializar(dataBuffer, this->_cantVotos);
}



